The present invention generally relates to processing resource control such as in a wireless communication network, and particularly relates to improved token-based admissions control.
Processing systems have finite processing capability, and a given system accommodates only a limited number of tasks or events at any given moment. Systems in which processing demand may outstrip processing capability oftentimes use some form of resource control to more effectively allocate various processing resources to the active and pending processing tasks. Such resource control schemes find use in a variety of processing environments, such as in wireless communication networks where call processing loads must be carefully managed to ensure sufficient reserve processing overhead for ongoing system operations.
A given entity in a wireless communication network, such as a Base Station System (BSS), manages call traffic and associated processing overhead for mobile-originated and mobile-terminated calls. Depending on the type of network involved, the BSS may have many “entry points” through which it receives processing events, such as call-related signaling messages. In the BSS context, an entry point roughly corresponds to one of the BSS's defined interfaces. Thus, the typical BSS in a mixed circuit and packet switched network would have entry points corresponding to its interfaces with a supporting Mobile Switching Center (MSC), and with an associated Packet Data Serving Node (PDSN). Similarly, the interface between the BSS and its supported mobile stations represents another entry point. As each event incoming to the BSS consumes some given fraction of the BSS's overall processing resources, the BSS must manage the admission of incoming events at its various entry points to avoid becoming overloaded.
In one form of admission control, processing capacity is “tokenized.” In this approach, the processing capacity of a given network entity, such as a BSS, is represented by a defined number of tokens. For example, 1,000 “tokens” might collectively represent the total processing capability of the entity. Note that in a common approach, the total number of tokens defined represents something less than the actual total processing capacity of the entity so that even when all tokens are used, some reserve processing capacity exists for carrying on necessary supporting operations. In any case, each entry point is allocated some fixed number of the total number of tokens for use in controlling the admission of events through that entry point.
As events are admitted through each entry point, the number of tokens available for events entering through that point is reduced. That is, each event admitted through the entry point consumes one or more of the tokens allocated to that entry point. When a given entry point has exhausted its fixed allocation of tokens, that entry point may be “throttled,” meaning that it blocks the admission of new events until a sufficient number of its previously used tokens are released for re-use. Allocated tokens are de-allocated according to a variety of schemes, but tokens generally are returned for re-allocation as their corresponding events are processed by or passed through the entity.
One potential shortcoming of maintaining a fixed allocation of tokens at the entry points is that relative activity of the entry points during actual operation may deviate from the assumptions underlying the fixed allocations. Thus, the fixed token allocations often do not match dynamically changing entry point activity. For example, a temporarily “over active” entry point might exhaust its fixed allocation of tokens, while other less active entry points still have tokens leftover. This mismatch in token allocations leads to inefficiency because the entry point that exhausted its token allocation blocks event admissions even though unused tokens remain at the other entry points. In other words, events are blocked at the usually active point not because the entity is actually running at full load but rather because that entry point was allocated too few tokens relative to the other entry points.
In a conventional approach to tokenized processing control within communication networks, token allocations for the various entry points to a given call processing entity are fixed based on one or more traffic models. As such, the relative token allocations between the entry points are appropriate only to the extent that actual call activity matches the assumed traffic models. If the call traffic deviates from the predicted models, even temporarily, one or more entry points may become much busier than predicted. These unexpectedly busy entry points may exhaust their fixed assignment of tokens, leaving the entity underutilized despite the availability of tokens at one or more of its other entry points.
The potential for dynamic traffic conditions to deviate from the generally expected characteristics increases with the increasing diversity of wireless communication service. As new services become available, such as streaming media, and concurrent voice and data connections, the use of fixed token allocation schemes for admission control within a given type of network equipment becomes increasingly inefficient.